import moment from 'moment'
/**
 * 获取本地图片地址
 * @param image 图片名字
 * @returns 图片的本地地址
 */
export const getLocalImage = (image: string) => {
  return new URL(`../assets/${image}`, import.meta.url).href
}

/**
 * 获取时间
 * @param timestamp Date类型的时间
 * @returns 返回时间YYYY-MM-DD或昨天或dddd或HH：mm
 */
export const formateDate = (timestamp: string) => {
  const timestampTime = moment(timestamp)
  const days =
    Number.parseInt(moment().format('YYYYMMDD')) - Number.parseInt(timestampTime.format('YYYYMMDD'))
  if (days == 0) {
    return timestampTime.format('HH:mm')
  } else if (days == 1) {
    return '昨天'
  } else if (days >= 2 && days < 7) {
    return timestampTime.format('dddd')
  } else if (days >= 7) {
    return timestampTime.format('YYYY-MM-DD')
  }
}

/**
 * 获取时分秒
 */
export const convertSecondsToHMS = (seconds: number) => {
  const hours = Math.floor(seconds / 3600)
  const minutes = Math.floor((seconds % 3600) / 60)
  const remainingSecibds = seconds % 60

  return (
    (hours == 0 ? '' : hours.toString().padStart(2, '0') + ':') +
    minutes.toString().padStart(2, '0') +
    ':' +
    remainingSecibds.toString().padStart(2, '0')
  )
}

/**
 *
 */
export const resetHtmlContent = (data: string) => {
  if (!data) {
    return
  }
  data = data.replace(/\r\n/g, '<br>')
  data = data.replace(/\n/g, '<br>')
  return data
}

/**
 *截取文件视频名字
 */
export const getFileName = (fileName: string) => {
  if (!fileName) return fileName

  return fileName.lastIndexOf('.') == -1
    ? fileName
    : fileName.substring(0, fileName.lastIndexOf('.'))
}

/**
 *将文件大小（以字节为单位）转换 （B、KB、MB、GB
 */
export const sizeToStr = (limit: number) => {
  let size = ''
  if (limit < 0.1 * 1024) {
    // 小于0.1KB，则转化成B
    size = limit.toFixed(2) + 'B'
  } else if (limit < 1024 * 1024) {
    // 小于0.1MB，则转化成KB
    size = (limit / 1024).toFixed(2) + 'KB'
  } else if (limit < 1024 * 1024 * 1024) {
    // 小于1GB，则转化成MB
    size = (limit / (1024 * 1024)).toFixed(2) + 'MB'
  } else {
    // 其他转化成GB
    size = (limit / (1024 * 1024 * 1024)).toFixed(2) + 'GB'
  }

  const sizeStr = size + '' // 转成字符串
  const index = sizeStr.indexOf('.') // 获取小数点处的索引
  const dou = sizeStr.substring(index + 1, 2 + 1) // 获取小数点后两位的值
  // 判断后两位是否为00，如果是则删除00
  if (dou === '00') {
    return sizeStr.substring(0, index) + sizeStr.substr(index + 3, 2)
  }
  return size
}
